from numpy import *
from pylab import *



a=input("ingrese un numero entero ")

z=a

b=2
d=[]



###########  Conversion a binario ##############################################
while a>=2:
    b=a%2
    c=a/2
    a=c
    d.append(b)
d.append(1)

######## Aqui se completan los ocho bits en caso de ser nesesario  ############

if len(d)<8:
    while len(d)<8:
        d.append(0)

#########################################################################


################## Se ponen los numeros en el orden adecuado ############# 
l=[]
u=0

for k in range(len(d)):
    u=u+1
    l.append(d[-u])
##########################################################################




###############  Conversion de binario a Gray #############################

h=[]

h.append(l[0])


for i in range(7):
    if l[i]+l[i+1]==1:
        h.append(1)
    if l[i]+l[i+1]==0:
        h.append(0)
    if l[i]+l[i+1]==2:
        h.append(0)

###########################################################################

print ""
print "Decimal ",z
print "Binario ",l
print "Gray    ",h
print ""
